/**
 * ProductUserMapperExt
 * Copyright © 2015 - 2017
 * All rights reserved.
 * -----------------------------------
 * 2017-12-05  Created
 */
package com.lzy.product.dao;

import com.lzy.product.dtos.ProductUserDto;
import org.apache.ibatis.annotations.Param;

import javax.annotation.Resource;
import java.util.List;

@Resource
public interface ProductUserMapperExt extends ProductUserMapper {
    /**
     * 查询user列表
     *
     * @param dto
     * @return
     */
    List<ProductUserDto> query(@Param("param") ProductUserDto dto);

    /**
     * 根据条件查询用户信息
     *
     * @param userDto
     * @return
     */
    ProductUserDto findUserByCont(@Param("param") ProductUserDto userDto);

    /**
     * 根据编号查询用户信息
     *
     * @param id
     * @return
     */
    ProductUserDto findById(@Param("id") Long id);

    /**
     * 根据推荐人编号查询人员列表
     *
     * @param userId
     * @return
     */
    List<ProductUserDto> selectUserListByUserId(@Param("userId") Long userId);

    /**
     * @param expression
     * @return
     */
    String maxiNumber(@Param("expression") String expression);

    List<ProductUserDto> queryAgents(@Param("param") ProductUserDto userDto);

    List<Integer> queryAllCitycode();

    /**
     * 根据id查询所有上级
     *
     * @param id
     * @param type 1-开启查询自身 2-不包含查询自身
     * @return
     */
    List<ProductUserDto> selectListById(@Param("id") Long id, @Param("type") Integer type);


    ProductUserDto queryAgentByphone(@Param("phone") String phone);
}